package com.yanggu.flink.datastream_api.transform

import org.apache.flink.streaming.api.scala._
import org.apache.flink.util.Collector

/**
 * flatMap, 传入一个数据, 输出0到多个数据, 可以实现filter + map的操作
 *
 */
object FlatMapFunctionDemo {

  def main(args: Array[String]): Unit = {
    val env = StreamExecutionEnvironment.getExecutionEnvironment

    env.fromElements(1, 2, 3)
      //对于匿名函数, 如果有泛型的, 需要在形参上显示指定
      .flatMap((data, out: Collector[String]) => {
        if (data.==(1)) {
          out.collect(data.toString)
        }
      })
      .print("flatMap>")

    env.execute()

  }

}
